/**
 * 定义整个项目的全局配置
 */

'use strict';

console.log("current env：", process.env.NODE_ENV);


console.log(
  `
                           _ooOoo_
                          o8888888o
                          88" . "88
                          (| -_- |)
                          O\\  =  /O
                       ____/\`---'\\____
                     .'  \\\\|     |//  \`.
                    /  \\\\|||  :  |||//  \\
                   /  _||||| -:- |||||-  \\
                   |   | \\\\\\  -  /// |   |
                   | \\_|  ''\\---/''  |   |
                   \\  .-\\__  \`-\`  ___/-. /
                 ___\`. .'  /--.--\\  \`. . __
              ."" '<  \`.___\\_<|>_/___.'  >'"".
             | | :  \`- \\\`.;\`\\ _ /\`;.\`/ - \` : | |
             \\  \\ \`-.   \\_ __\\ /__ _/   .-\` /  /
        ======\`-.____\`-.___\\_____/___.-\`____.-'======
                           \`=---='
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                    Buddha Bless, No Bug !
  `);

module.exports = {
  // 项目的名字
  name: 'flyxiaozhu shop',

  // 设置网页的favicon, 可以是外链, 也可以是本地
  favicon: '/favicon.ico',

  // footer中显示的字, 可以嵌入html标签
  footer: '<a target="_blank" href="">江死秒</a> All Rights Reserved. © 2019 Powered by Ant Design Mobile',

  // 是否开启debug模式, 不会请求后端接口, 使用mock的数据
  debug: false,

  // 打包输出目录
  outputPath: './public',

  // 日志配置
  log: {
    level: 'debug',  // 日志级别, 目前支持debug/info/warn/error 4种级别
    debug: [],
    info: [],
    warn: [],
    error: ['loggerA', 'loggerB']
  },

  api: {
    // 接口地址
    host: process.env.NODE_ENV === 'development' ? 'http://localhost:8080' : '/',

    // 后端代理地址
    proxyHost: 'http://localhost:8081',

    // ajax请求的路径前缀
    path: '',

    // 请求的超时时间, 单位毫秒
    timeout: 15000
  },
  login: {
    // 获取当前用户
    getCurrentUser: 'user/getCurrentUser',
    sso: '',
    // 登录
    validate: 'login',
    // 登出
    logout: 'logout'
  },
  // 图片和文件上传配置
  upload: {
    image: 'uploadImage',  // 默认的上传图片接口
    imageSizeLimit: 1000,  // 默认的图片大小限制, 单位KB
    file: 'uploadFile',  // 默认的上传文件的接口
    fileSizeLimit: 10240  // 默认的文件大小限制, 单位KB
  },
  // 以下一些辅助的函数, 不要修改
  // 不能使用箭头函数, 会导致this是undefined
  /**
   * 是否要跨域请求
   *
   * @returns {boolean}
   */
  isCrossDomain() {
    if (this.api.host && this.api.host !== '') {
      return true;
    } else {
      return false;
    }
  },
  /**
   * 是否单点登录
   *
   * @returns {boolean}
   */
  isSSO() {
    if (this.login.sso && this.login.sso !== '') {
      return true;
    } else {
      return false;
    }
  },
  /**
   * 获得api请求的路径
   *
   * @returns {*}
   */
  getAPIPath() {
    if (this.tmpApiPath) { // 缓存
      return this.tmpApiPath;
    }
    const paths = [];

    if (this.isCrossDomain()) {
      // 去除结尾的'/'
      const tmp = this.api.host;
      let index = tmp.length - 1;
      // 如果超出指定的 index 范围，charAt返回一个空字符串
      while (tmp.charAt(index) === '/') {
        index--;
      }
      if (index < 0)
        paths.push('');
      else
        paths.push(tmp.substring(0, index + 1));
    } else {
      paths.push('');
    }
    if (this.api.path) {
      const tmp = this.api.path;
      let begin = 0;
      let end = tmp.length - 1;
      while (tmp.charAt(begin) === '/') {
        begin++;
      }
      while (tmp.charAt(end) === '/') {
        end--;
      }
      if (begin > end)
        paths.push('');
      else
        paths.push(tmp.substring(begin, end + 1));
    } else {
      paths.push('');
    }
    const tmpApiPath = paths.join('/');
    this.tmpApiPath = tmpApiPath;
    return tmpApiPath;
  }
};
